A programmable logic device is a reconfigurable circuit that can be rewritten after a chip is manufactured. Such a programmable logic device includes a rewritable wiring unit and a rewritable logic circuit. The rewritable wiring unit includes wiring lines and memories, and is capable of electrically connecting or disconnecting designated two wiring lines in accordance with the Information stored in the memories.
The rewritable logic circuit includes a look-up table circuit. The look-up table circuit is a circuit that stores logics into memories, and controls outputs in accordance with the information stored in the memories.
Static random access memories (SRAMs) are normally used as the respective memories in the rewritable wiring unit and the rewritable logic circuit. However, SRAMs are volatile memories, and the data stored in the SRAMs will be lost when the power is turned off. Therefore, it is necessary to load data into the SRAMs from an external nonvolatile memory after the power is turned on. As a result, the start time after power activation is long.
Meanwhile, there is a known method with which a resistive change memory is used as each memory in the rewritable wiring unit. The resistive change memory includes nonvolatile resistive change elements each having two electrodes, for example. As a predetermined voltage is applied between the electrodes, the resistance between the electrodes can be switched from a low-resistance state to a high-resistance state, or from a high-resistance state to a low-resistance state. With such a resistive change element being disposed between two wiring lines, it is possible to control connection/disconnection of the wiring lines by changing the resistance state of the resistive change element. Resistive change memories can also be used as the memories in the rewritable logic circuit.
A circuit that uses a resistive change memory including a large number of resistive change elements is likely to have defects. This is because the defect rate in a resistive change memory is higher than the defect rate in an SRAM. In view of this, there is a demand for a defect recovery method for enabling a correct circuit operation even when some of the resistive change elements in the circuit are defective. However, there are no known methods for recovering a circuit in a programmable logic device using resistive change memories, or more particularly, in a look-up table circuit using resistive change memories.